From: Daniel van Vugt Date: Fri, 10 Jan 2020 07:44:35 +0000 (+0800) Subject: js/ui: Subscribe touchpad gesture handlers to only touchpad events X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~772^2^2~8 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=bd197789c1e28bea4361cca48c8e3ef940b1f460;p=gnome-shell.git js/ui: Subscribe touchpad gesture handlers to only touchpad events The touchpad gesture handlers were receiving all events, all the time. This meant that even mouse movements were getting translated into JavaScript calls and then discarded by the handlers, which wasted CPU. Now we subscribe the touchpad gesture handlers to only touchpad events. Prequisite: https://gitlab.gnome.org/GNOME/mutter/merge_requests/1000 Closes: https://gitlab.gnome.org/GNOME/mutter/issues/283 https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/925 --- diff --git a/js/ui/swipeTracker.js b/js/ui/swipeTracker.js index 77536e476..818d10193 100644 --- a/js/ui/swipeTracker.js +++ b/js/ui/swipeTracker.js @@ -58,7 +58,7 @@ const TouchpadSwipeGesture = GObject.registerClass({ this._orientation = Clutter.Orientation.VERTICAL; this._enabled = true; - global.stage.connect('captured-event', this._handleEvent.bind(this)); + global.stage.connect('captured-event::touchpad', this._handleEvent.bind(this)); } get enabled() { diff --git a/js/ui/viewSelector.js b/js/ui/viewSelector.js index 8acea0c03..5c0dd9bb7 100644 --- a/js/ui/viewSelector.js +++ b/js/ui/viewSelector.js @@ -44,7 +44,7 @@ function getTermsForSearchString(searchString) { var TouchpadShowOverviewAction = class { constructor(actor) { - actor.connect('captured-event', this._handleEvent.bind(this)); + actor.connect('captured-event::touchpad', this._handleEvent.bind(this)); } _handleEvent(actor, event) {